axios.interceptors.response.use(
    //正常响应时调用的方法。 正常响应：我发出请求，服务器收到请求，返回一个结果。如果这个结果中的code不是200，统一作为错误处理
    //只有在response.code==200的情况下，axios才会触发本方法。如果这个code不是200，就会触发下面那个方法
    function(response){
        console.log('axios.interceptors.response', response)
        //我们询问考试成绩，老师表示收到，并成功告知分数

        //response.data就是我们Servlet封装后回传的ResponseResult。里面的code表示业务是否成功。老师表示你通过考试了
        //如果电话号码重复， 那么response.data.code就不是200，而是我们定义的其他状态值
        if(response.data.code != '200'){
            //如果返回的ResponseResult的状态码code不是200，就需要axios抛出异常，进入catch块
            return Promise.reject(response.data.errorMsg);
        }else{
            //如果是200，让流程继续进行。但是为了方便使用返回的结果，我们把结果拆一层包装
            //这样，用户在catch中就可以直接使用data属性(result.data)，不需要result.data.data
            return response.data;
        }
    },
    function (error){
        return Promise.reject(error);
    }
)

//对请求进行拦截
axios.interceptors.request.use(
    //config就是请求
    function(config) {
        // 在发送请求之前添加token到headers中
        const token = localStorage.getItem("token");
        //判断token是否存在，如果存在则携带
        if (token) {
            config.headers['token'] = token;
        }
        return config;
    },
    function(error) {
        return Promise.reject(error);
    }
)